console.log(1);
async function async() {
  console.log(2);
  await console.log(3); // yield xxx ?   Promise.resolve(console.log(3)).then(()=>{console.log(4)})
  console.log(4); // 也会产生一个then 在之后执行
}
setTimeout(() => {
  console.log(5);
}, 0);
const promise = new Promise((resolve, reject) => {
  console.log(6);
  resolve(7);
});
promise.then((res) => {
  // 微任务先进来的先执行
  console.log(res);
});
async();
console.log(8);

// 微任务队列  [7,4]
// 1
// 6
// 2
// 3
// 8
// 7
// 4
// 5
